﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F43 RID: 3907
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicLayerInfo : IMessage<RogueMagicLayerInfo>, IMessage, IEquatable<RogueMagicLayerInfo>, IDeepCloneable<RogueMagicLayerInfo>, IBufferMessage
	{
		// Token: 0x170031A7 RID: 12711
		// (get) Token: 0x0600AF5A RID: 44890 RVA: 0x001DA84F File Offset: 0x001D8A4F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicLayerInfo> Parser
		{
			get
			{
				return RogueMagicLayerInfo._parser;
			}
		}

		// Token: 0x170031A8 RID: 12712
		// (get) Token: 0x0600AF5B RID: 44891 RVA: 0x001DA856 File Offset: 0x001D8A56
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicLayerInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170031A9 RID: 12713
		// (get) Token: 0x0600AF5C RID: 44892 RVA: 0x001DA868 File Offset: 0x001D8A68
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicLayerInfo.Descriptor;
			}
		}

		// Token: 0x0600AF5D RID: 44893 RVA: 0x001DA86F File Offset: 0x001D8A6F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLayerInfo()
		{
		}

		// Token: 0x0600AF5E RID: 44894 RVA: 0x001DA884 File Offset: 0x001D8A84
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLayerInfo(RogueMagicLayerInfo other) : this()
		{
			this.status_ = other.status_;
			this.layerId_ = other.layerId_;
			this.tournRoomList_ = other.tournRoomList_.Clone();
			this.levelIndex_ = other.levelIndex_;
			this.curRoomIndex_ = other.curRoomIndex_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AF5F RID: 44895 RVA: 0x001DA8E9 File Offset: 0x001D8AE9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLayerInfo Clone()
		{
			return new RogueMagicLayerInfo(this);
		}

		// Token: 0x170031AA RID: 12714
		// (get) Token: 0x0600AF60 RID: 44896 RVA: 0x001DA8F1 File Offset: 0x001D8AF1
		// (set) Token: 0x0600AF61 RID: 44897 RVA: 0x001DA8F9 File Offset: 0x001D8AF9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLayerStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x170031AB RID: 12715
		// (get) Token: 0x0600AF62 RID: 44898 RVA: 0x001DA902 File Offset: 0x001D8B02
		// (set) Token: 0x0600AF63 RID: 44899 RVA: 0x001DA90A File Offset: 0x001D8B0A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint LayerId
		{
			get
			{
				return this.layerId_;
			}
			set
			{
				this.layerId_ = value;
			}
		}

		// Token: 0x170031AC RID: 12716
		// (get) Token: 0x0600AF64 RID: 44900 RVA: 0x001DA913 File Offset: 0x001D8B13
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueMagicRoomInfo> TournRoomList
		{
			get
			{
				return this.tournRoomList_;
			}
		}

		// Token: 0x170031AD RID: 12717
		// (get) Token: 0x0600AF65 RID: 44901 RVA: 0x001DA91B File Offset: 0x001D8B1B
		// (set) Token: 0x0600AF66 RID: 44902 RVA: 0x001DA923 File Offset: 0x001D8B23
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint LevelIndex
		{
			get
			{
				return this.levelIndex_;
			}
			set
			{
				this.levelIndex_ = value;
			}
		}

		// Token: 0x170031AE RID: 12718
		// (get) Token: 0x0600AF67 RID: 44903 RVA: 0x001DA92C File Offset: 0x001D8B2C
		// (set) Token: 0x0600AF68 RID: 44904 RVA: 0x001DA934 File Offset: 0x001D8B34
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurRoomIndex
		{
			get
			{
				return this.curRoomIndex_;
			}
			set
			{
				this.curRoomIndex_ = value;
			}
		}

		// Token: 0x0600AF69 RID: 44905 RVA: 0x001DA93D File Offset: 0x001D8B3D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicLayerInfo);
		}

		// Token: 0x0600AF6A RID: 44906 RVA: 0x001DA94C File Offset: 0x001D8B4C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicLayerInfo other)
		{
			return other != null && (other == this || (this.Status == other.Status && this.LayerId == other.LayerId && this.tournRoomList_.Equals(other.tournRoomList_) && this.LevelIndex == other.LevelIndex && this.CurRoomIndex == other.CurRoomIndex && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AF6B RID: 44907 RVA: 0x001DA9CC File Offset: 0x001D8BCC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Status != RogueMagicLayerStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.LayerId != 0U)
			{
				num ^= this.LayerId.GetHashCode();
			}
			num ^= this.tournRoomList_.GetHashCode();
			if (this.LevelIndex != 0U)
			{
				num ^= this.LevelIndex.GetHashCode();
			}
			if (this.CurRoomIndex != 0U)
			{
				num ^= this.CurRoomIndex.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AF6C RID: 44908 RVA: 0x001DAA6A File Offset: 0x001D8C6A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AF6D RID: 44909 RVA: 0x001DAA72 File Offset: 0x001D8C72
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AF6E RID: 44910 RVA: 0x001DAA7C File Offset: 0x001D8C7C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.CurRoomIndex != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.CurRoomIndex);
			}
			this.tournRoomList_.WriteTo(ref output, RogueMagicLayerInfo._repeated_tournRoomList_codec);
			if (this.LevelIndex != 0U)
			{
				output.WriteRawTag(32);
				output.WriteUInt32(this.LevelIndex);
			}
			if (this.LayerId != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.LayerId);
			}
			if (this.Status != RogueMagicLayerStatus.None)
			{
				output.WriteRawTag(104);
				output.WriteEnum((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AF6F RID: 44911 RVA: 0x001DAB20 File Offset: 0x001D8D20
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Status != RogueMagicLayerStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.LayerId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.LayerId);
			}
			num += this.tournRoomList_.CalculateSize(RogueMagicLayerInfo._repeated_tournRoomList_codec);
			if (this.LevelIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.LevelIndex);
			}
			if (this.CurRoomIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurRoomIndex);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AF70 RID: 44912 RVA: 0x001DABBC File Offset: 0x001D8DBC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicLayerInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Status != RogueMagicLayerStatus.None)
			{
				this.Status = other.Status;
			}
			if (other.LayerId != 0U)
			{
				this.LayerId = other.LayerId;
			}
			this.tournRoomList_.Add(other.tournRoomList_);
			if (other.LevelIndex != 0U)
			{
				this.LevelIndex = other.LevelIndex;
			}
			if (other.CurRoomIndex != 0U)
			{
				this.CurRoomIndex = other.CurRoomIndex;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AF71 RID: 44913 RVA: 0x001DAC45 File Offset: 0x001D8E45
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AF72 RID: 44914 RVA: 0x001DAC50 File Offset: 0x001D8E50
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 26U)
				{
					if (num == 8U)
					{
						this.CurRoomIndex = input.ReadUInt32();
						continue;
					}
					if (num == 26U)
					{
						this.tournRoomList_.AddEntriesFrom(ref input, RogueMagicLayerInfo._repeated_tournRoomList_codec);
						continue;
					}
				}
				else
				{
					if (num == 32U)
					{
						this.LevelIndex = input.ReadUInt32();
						continue;
					}
					if (num == 56U)
					{
						this.LayerId = input.ReadUInt32();
						continue;
					}
					if (num == 104U)
					{
						this.Status = (RogueMagicLayerStatus)input.ReadEnum();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04004714 RID: 18196
		private static readonly MessageParser<RogueMagicLayerInfo> _parser = new MessageParser<RogueMagicLayerInfo>(() => new RogueMagicLayerInfo());

		// Token: 0x04004715 RID: 18197
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004716 RID: 18198
		public const int StatusFieldNumber = 13;

		// Token: 0x04004717 RID: 18199
		private RogueMagicLayerStatus status_;

		// Token: 0x04004718 RID: 18200
		public const int LayerIdFieldNumber = 7;

		// Token: 0x04004719 RID: 18201
		private uint layerId_;

		// Token: 0x0400471A RID: 18202
		public const int TournRoomListFieldNumber = 3;

		// Token: 0x0400471B RID: 18203
		private static readonly FieldCodec<RogueMagicRoomInfo> _repeated_tournRoomList_codec = FieldCodec.ForMessage<RogueMagicRoomInfo>(26U, RogueMagicRoomInfo.Parser);

		// Token: 0x0400471C RID: 18204
		private readonly RepeatedField<RogueMagicRoomInfo> tournRoomList_ = new RepeatedField<RogueMagicRoomInfo>();

		// Token: 0x0400471D RID: 18205
		public const int LevelIndexFieldNumber = 4;

		// Token: 0x0400471E RID: 18206
		private uint levelIndex_;

		// Token: 0x0400471F RID: 18207
		public const int CurRoomIndexFieldNumber = 1;

		// Token: 0x04004720 RID: 18208
		private uint curRoomIndex_;
	}
}
